Method and apparatus for intelligent and automatic preference detection of media content

ABSTRACT

A system and method is provided for an automatic user preference detection system, comprising an accessing device to access attribute information of media content files distributed to a user by a media content file distribution source; a database to store a preference file for each user of the media content file distribution source, wherein the preference file for each user is utilized to determine which media content file to select to distribute to the user; and a program adapted to learn, based on the user&#39;s responses to the play of media content files, the user&#39;s media content file preferences.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to the art of passive preferencedetection, and more particularly to a system, method, and apparatus forautomatically determining the media content preferences of a user whodownloads streaming media content via the Internet.

2. Description of the Related Art

There are music-distribution systems in the art that record the musicpreferences of the users of such systems, and play back songs based onthose preferences. There are also Internet sites, for example, thatallow users to manually assign a score to songs, where the scorereflects the user's enjoyment of the song. Based on the user's scores,such sites intelligently select songs to send to the user that the useris likely to enjoy.

Such systems have major drawbacks, however, because a score must bemanually entered for each song. Entering scores is very cumbersome andmay be very confusing for new or unsophisticated users. Moreover, in aportable environment, such as in a car or on a portable player, such anelaborate controller may be difficult and/or costly to implement.

Also, such systems only use each particular user's scores whencalculating which songs to send to that particular user. A drawback ofthis approach is that such a system may only select songs that user willlike with any degree of accuracy after that user has already enteredscores for a large number of songs.

Accordingly, a preference detection system is desired that does notrequire a user to manually score songs. A system capable of passivelydetermining a user's music preferences is therefore desired. Such asystem should be capable of learning a user's preferences based on theuser's responses (such as forwarding to the next song, etc.) while eachsong plays. Such a system should work not only with music, but also withother types of media (video, etc.).

A preference detection system is also desired that learns which songs tosend a user not only based upon that user's responses, but also basedupon the responses of other users to similar songs, as patterns mayappear when data from enough users is analyzed.

DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an automatic preference detection system according toan embodiment of the present invention;

FIG. 2 is a flow chart illustrating the initialization of the automaticpreference detection system when a user first signs up for the serviceaccording to an embodiment of the present invention;

FIG. 3 is a flow chart illustrating the processing that occurs when auser is logged into the automatic preference detection system accordingto an embodiment of the present invention;

FIG. 4 a is a diagram illustrating the relationship between a first songand four of the first song's attributes before system learning accordingto an embodiment of the present invention;

FIG. 4 b is a diagram illustrating the relationship between the firstsong and four of the first song's attributes after system learningaccording to an embodiment of the present invention;

FIG. 4 c is a diagram illustrating the relationship between a secondsong and four of the second song's attributes before system learningaccording to an embodiment of the present invention;

FIG. 4 d is a diagram illustrating the relationship between the secondsong and four of the second song's attributes after system learningaccording to an embodiment of the present invention;

FIG. 4 e is a diagram illustrating the relationship between a third songand four of the third song's attributes before system learning accordingto an embodiment of the present invention;

FIG. 4 f is a diagram illustrating the relationship between the thirdsong and four of the third song's attributes after system learningaccording to an embodiment of the present invention;

FIG. 4 g is a diagram illustrating the relationship between a fourthsong and four of the fourth song's attributes before system learningaccording to an embodiment of the present invention;

FIG. 4 h is a diagram illustrating the relationship between the fourthsong and four of the fourth song's attributes after system learningaccording to an embodiment of the present invention;

FIG. 4 i is a diagram illustrating the relationship between the foursongs in FIGS. 4 a, 4 c, 4 e and 4 g and four of the songs' attributesbefore system learning according to an embodiment of the presentinvention; and

FIG. 4 j is a diagram illustrating the relationship between the foursongs in FIGS. 4 b, 4 d, 4 f and 4 h and four of the songs' attributesafter system learning according to an embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates an automatic preference detection system according toan embodiment of the present invention. As shown in FIG. 1, the presentinvention is a method and apparatus for the intelligent and automaticpreference detection of media content files. This system is comprised ofthree major components: a user control point 105, a preferenceprocessing subsystem 110, and a network-enabled entertainment cluster115. This system infers a user's 100 media content preferences, based onthe user's 100 responses while media content plays, as well as on theresponses of other users, and thereafter selects media content files tosend to the user that the system determines the user 100 may like. In apreferred embodiment, this system is used to control media contentfiles, such as songs in the format of music files, streamed over theInternet from an online media content database 135 to a user 100 of thesystem's computer 140, where the files are converted into a formatplayable on a device such as a stereo 145, where they are played. Whilea song plays on the stereo 145, the system uses a “fuzzy” logicalreasoning scheme to determine to what degree the user 100 likes/dislikesthe song and the particular attributes of that song. In the fuzzylogical reasoning scheme, the system infers that if the user 100utilizes the user control point 105 to forward to the next song, theuser 100 did not like the song originally playing. For example, theearlier into the song the user 100 forwards to the next song, the morelikely the system will infer that the user 100 disliked the song, aswell as the various attributes of the song. The user control point 105may be any device having the function of skipping from a song currentlyplaying to the next song. A remote control with a “Next Song” buttoncapable of skipping to the next song file may be used as the usercontrol point 105. If the user 100 listens to a song the entire waythrough, the system will infer that the user 100 likes the song beingplayed.

For example, a score is calculated by a calculate score module 120 foreach song played by the system based upon how early the “Next Song”button is hit, if at all. A song receives the highest score if it playscompletely through. A song receives a low score if the “Next Song”button is hit while it is playing. The earlier into its play the “NextSong” button is hit, the lower the score.

The media content files may be streamed from a remote site. The mediacontent files preferably contain attribute information. For example,when song files are streamed, each song may be categorized according tomany attributes, such as the year the song was released, the band, thegeneral type of music (pop, oldies, metal), where the band was from(England, America), etc. The more attributes that are associated witheach song, the more accurate the system is at determining what songs theuser 100 might like.

After a score is calculated and processed by a processing module 125,that score is added to a preference profile for the user 100. The user's100 preference profile, in conjunction with the preference database 130is used to determine which songs to send to the user 100. The preferencedatabase 130 contains a file with the user's 100 preference profile, aswell as the preference profiles of every other user who has a profilewith the system. The system analyzes the data in the preference database130 and learns from patterns it detects. For example, if a user 100typically listens to new wave hits from 80's English bands all the waythrough, the system will continue to play other similar songs. If, forexample, the user typically listens to songs by Falco and the HumanLeague in their entirety, the system will stream songs by other artistswith many of the same attributes, such as Frankie Goes to Hollywood, tothe user 100. The streamed song files are sent from an media contentdatabase 135 to the user's network-enabled entertainment cluster 115.This entertainment cluster 115 may include a computer 140, and a devicefor playing the songs, such as a stereo 145. In one embodiment, songfiles are downloaded by the computer 140, converted, and sent to thestereo 145 in a playable format.

The automatic media content preference detection system may be used inconjunction with any content distributing system, including a musicdistribution system over the Internet. In such an embodiment, a user 100is able to access a music distribution service (“MDS”) site over theInternet, where the user 100 may sign up for the MDS. FIG. 2 is a flowchart illustrating the initialization of the automatic preferencedetection system when a user 100 first signs up for the serviceaccording to an embodiment of the present invention. After a user 100signs up 200 for the service by entering his name, billing address,etc., a preference profile is created 205 for that user 100. As the user100 accesses and uses the system, continually updated information aboutthe user's content preferences is stored in this profile. Theinformation in this file is used to determine which songs to stream tothe user 100. In order to make an initial educated guess about whattypes of music the user might like, the user may be asked certainpreliminary questions 210, such as the user's favorite type of music,age, sex, where the user is living (country or area of USA), etc. Thesystem may also search 215 the user's hard drive and peripherals forMP3, Real Audio, wave files, or any other music file formats. If songfiles stored on the user's 100 hard drive and peripherals have a knowntitle and/or artist stored in the file name or somewhere within thefile, this information is used to build an initial user preferenceprofile. Next, all of the information from the preliminary questions 210and the hard drive scan 215 is processed 220 and used to create aninitial user preference profile. This data is then stored 225 in theuser's 100 preference profile in the preference database 130.

After the user 100 has signed up for the MDS, the user 100 may beginusing the MDS. FIG. 3 is a flow chart illustrating the processing thatoccurs when a user 100 is logged into the automatic preference detectionsystem according to an embodiment of the present invention. As shown inFIG. 3, the user 100 must first log in 300 to use the MDS. Next, theuser's 100 preference profile is loaded 305 from the preference database130. A program 310 then uses the user's 100 profile and the profiles ofother users to determine which song to send to the user 100. Theprofiles of other users are used because patterns may appear in otherprofiles that may aid in selecting a song the user 100 might like. Forexample, if a user's 100 profile shows an affinity for new wave popsynthesizer music from the 80s, then a techno song from a 90s group,such as New Order, may be sent to the user 100 if the profiles of manyother users show affinities for both new wave pop synthesizer music fromthe 80s and for techno songs from 90s groups such as New Order.

The program 310 typically selects a song that it has determined the user100 is likely to enjoy. However, the program 310 will periodicallyselect songs that it does not know whether the user 100 will like. Forexample, where a user's 100 profile indicates an affinity for 80s synthdance music, the program 310 may occasionally send an oldies, classical,or country song to the user to see whether the user 100 likes the song.The newer and less-developed a user's 100 profile is, the more likely itis that the program will select such a song to be sent to the user 100.Next, the selected song is sent by the MDS to the user's 100 computer140, where it is converted into a stereo-playable format and sent to thestereo 145, where it plays 315. The system learns 320 from the user's100 responses while the song plays. If the user 100 skips to the nextsong, the system will infer that the user 100 dislikes that song and itsassociated attributes. The earlier into the song the user 100 skips tothe next song, the more the system will infer the user 100 dislikes thesong. After the song finishes playing or the user 100 skips to the nextsong, the program then selects 310 the next song to be played and theMDS sends it to the user's 100 computer 140. This process continuesuntil the user 100 logs out 325 of the MDS. Upon logout, the user's 100updated preference profile is saved 330 in the preference database 130.

FIG. 4 a is a diagram illustrating the relationship between a first songand four of the first song's attributes before system learning accordingto an embodiment of the present invention. In FIG. 4 a, the song file,“Don't You Want Me,” is categorized according to five attributes: title400 a, year of release 405 a, general song style 410 a (other examplesinclude “oldies,” “rap,” “classical,” etc.), artist 415 a, and aspecific song style 420 a. While only five attributes are shown in FIG.4 a, many more may be used in different embodiments. Here, eachattribute has been given an equal weight. In other embodiments, certainattributes such as general song style 410 a may be accorded greaterweighting than other attributes. Each attribute in FIG. 4 a isassociated with each other attribute. This association is shown by thelines that connect each attribute to each other, 401 a–404 a, 406 a–408a, 411 a–412 a, and 416 a. Each of these connections is also assigned ascore. If no information is in the user profile for any of theseattributes, the system does not know whether the user is likely toprefer this song or any of its attributes. When the system selects asong to send the user 100 that the user 100 listens to all the waythrough without hitting the “Next Song” key on the user control point105, the system learns that the user 100 likes the song, the connectionsbetween each attribute are strengthened, and the system assigns a highscore for each of the song's attributes, and for each of the connectionsbetween each attribute. For example, if this system were to infer that auser liked a song comprised on three attributes, A, B, and C. a highscore would be assigned to each of these attributes. A high score wouldalso be assigned to each combination of these attributes: A and B, A andC, and B and C.

FIG. 4 b is a diagram illustrating the relationship between the firstsong and four of the first song's attributes after system learningaccording to an embodiment of the present invention. FIG. 4 b shows theresult where the user 100 liked the song “Don't You Want Me” 400 a. Ahigh score is assigned to each attribute and to the connections betweeneach attribute, as illustrated by the dark lines around and between eachattribute.

FIGS. 4 c, 4 e, and 4 g are similar to FIG. 4 a. FIG. 4 c is a diagramillustrating the relationship between a second song and four of thesecond song's attributes before system learning according to anembodiment of the present invention. FIG. 4 e is a diagram illustratingthe relationship between a third song and four of the third song'sattributes before system learning according to an embodiment of thepresent invention. FIG. 4 g is a diagram illustrating the relationshipbetween a fourth song and four of the fourth song's attributes beforesystem learning according to an embodiment of the present invention.

FIGS. 4 d, 4 f, and 4 h are similar to FIG. 4 b. FIG. 4 d is a diagramillustrating the relationship between the second song and four of thesecond song's attributes after system learning according to anembodiment of the present invention. FIG. 4 f is a diagram illustratingthe relationship between the third song and four of the third song'sattributes after system learning according to an embodiment of thepresent invention. FIG. 4 h is a diagram illustrating the relationshipbetween the fourth song and four of the fourth song's attributes aftersystem learning according to an embodiment of the present invention.

FIGS. 4 d and 4 h are similar to FIG. 4 b, in that they show theconnections after songs are played that the system inferred that theuser 100 liked, as evidenced by the “Next Song” button on the usercontrol point 105 not being hit during their play. FIG. 4 f, on theother hand, shows the result where the system inferred that the user 100dislikes a song, where each of the connections between each attributeare weakened, indicating that the system infers that the user 100doesn't like the song. The earlier into the song the “Next Song” buttonis depressed on the user control point 105, the more the system willinfer the user dislikes the song and each of its attributes. This systemcorrespondingly assigns each attribute a lower score.

FIG. 4 i is a diagram illustrating the relationship between the foursongs in FIGS. 4 a, 4 c, 4 e and 4 g and four of the songs' attributesbefore system learning according to an embodiment of the presentinvention. FIG. 4 j is a diagram illustrating the relationship betweenthe four songs in FIGS. 4 b, 4 d, 4 f and 4 h and four of the songs'attributes after system learning according to an embodiment of thepresent invention. As is evident in FIG. 4 j, the connections betweenattributes in songs that the system inferred the user 100 liked arestrengthened, and those in the song that the system inferred the user100 disliked are weakened. For example, one song is associated with theyear released attribute “1985” 405 c. Since the system inferred that theuser 100 liked “Rock Me Amadeus” 400 c, the song associated with thisattribute, the system now infers that the user may like other songsassociated with the “1985” 405 c attribute. This is evidenced by thedarker circle around “1985” 405 c in FIG. 4 j. The system also infersthat the user may dislike songs from 1986, since that date is associatedwith “Human” 400 e. Consequently, its score is decreased. This isevidenced by the lighter circle around “1986” 405 c in FIG. 4 j, than inFIG. 4 i.

The system infers that the user really likes songs from 1983 since theuser did not skip to the next song during the play of “Don't You WantMe” 400 a and “Billie Jean” 400 g, both songs associated with the 1983attribute 405 a. This association is illustrated by the dark circlearound 1983 405 a, which is darker than the circle around 1985 405 c inFIG. 4 j. Also, the system does not know whether the user likes songs bythe “Human League” 415 a, since the user did not skip to the next songduring the play of “Don't You Want Me” 400 a, but did skip to the nextsong during the play of “Human” 400 e, both of which are associated withthe Human League 415 a attribute. Consequently, songs with the HumanLeague 415 a attribute are no less likely to be played than they werebefore the learning began. However, songs with the 1986 405 e attributeare now less likely to be played since the user disliked the sole 1986song “Human” 400 e. Songs with the 1985 attribute are now more likely tobe played than before, because the user did not skip to the next songduring the play of the sole song with this attribute, “Rock Me Amadeus”400 c. Songs associated with 1983 405 a are even more likely to beplayed than 1985 405 c songs, because the user did not skip to the nextduring the playing of either of the 1983 405 a songs, “Don't You WantMe” 400 a and “Billie Jean” 400 g. The same process and reasoningapplies to each other attribute. As is evidenced by FIG. 4 j, theautomatic media content preference detection system is capable oflearning that the user likes a particular artist such as the HumanLeague 415 a, but dislikes a particular song, or vice-versa. The same istrue with respect to each attribute.

If the user had logged out 325 (see FIG. 3) of the system after the foursongs had played, the newly learned information is stored 330 in theuser's preference profile in the preference database 130. The next timethe user logs in 300, the system will be more likely to play songs withthe following attributes: 1983 405 a, pop 410 a, and new wave 420 a. Thesystem may also use the other user profiles in the preference databaseto make a more educated guess at what other songs besides those with thethree aforementioned attributes the user might like to hear.

The system may also be configured to handle a situation where a user 100logs into the system, but then either walks away from his stereo 145, orsimply does not pay attention to the songs being played. In such ascenario, it would be undesirable for the system to learn from theuser's nonresponsiveness because any information learned may beinaccurate. Therefore, this system may be programmed to store learnedinformation in a temporary file until the user 100 hits the “Next Song”button, or some other button, such as volume, on the user control point105. For example, after the user hits “Next Song” on the user controlpoint 105, then the information in the temporary user profile is movedinto the permanent user profile file. The reason for this is in case theuser isn't paying attention, or leaves his stereo, this system isintelligent enough to learn that after a certain number of songs haveplayed in their entirety, that the user 100 is passively listening, ifat all. Such information is not very useful in determining the user's100 music preferences, so it is never moved from the temporary userprofile file.

The speed at which the learning process occurs is determined by theprogram 310. A more “heavily weighted” program may be used when a fastlearning process is desired. However, where a slower learning process isdesired, a more “lightly weighted” program may be used. Where a heavilyweighted program is used, the system quickly learns the user's 100preferences, and if the user's content tastes change, the system willquickly adapt to these changes. On the other hand, where a lightlyweighted program is used, the system will more slowly learn the user's100 preferences. However, where a lightly weighted program is used, anyisolated instances of anomalies in the user's 100 responses (such as notwanting to listen to slow songs on rainy days or when the user isdepressed, or where other people with different content preferences thanthe user are using the system), are insufficient to drastically changethe user's 100 preference profile, because it changes only slowly overtime.

The program 310 in this system may also be programmed to periodicallyselect songs based solely upon the time of day, week, year, etc. Forexample, in December, the program may be configured to select Christmassongs. If the program 310 learns that the user 100 does not likeChristmas songs, it may start sending songs from other cultures, such asJewish or Indian songs. Also, the program may be programmed to, based onthe user's 100 preference profile, choose songs at a particular timethat a radio station would also be playing. For example, where a user'sprofile indicates the user 100 likes some 80's music, even if the user100 also likes other styles, the program may be programmed to selectonly 80's songs on a Friday night, since there are radio stations thatplay only 80's music on Friday nights. Other time-sensitive programs mayalso be handled by the program 310, such as heavy metal Saturday nights,etc.

While the description above refers to particular embodiments of thepresent invention, it will be understood that many modifications may bemade without departing from the spirit thereof The accompanying claimsare intended to cover such modifications as would fall within the truescope and spirit of the present invention. The presently disclosedembodiments are therefore to be considered in all respects asillustrative and not restrictive, the scope of the invention beingindicated by the appended claims, rather than the foregoing description,and all changes which come within the meaning and range of equivalencyof the claims are therefore intended to be embraced therein.

1. An automatic user preference detection computer system, comprising: apreference determination module, independent of a user computing device,to determine a preference profile for a user of a media contentdistribution source, the preference profile being based on previouslydetermined media scores for the user and local media content filesdetermined by scanning a disk drive of the user computing device todetermine the local media content files stored on the user computingdevice; a database, independent of the user computing device, to storethe preference profile for the user of the media content filedistribution source; a score calculation module, independent of the usercomputing device, to determine a score for a media content filedistributed to the user by the media content file distribution source,wherein the score is calculated based on a comparison of a length oftime in which the user allows the media content file to be played at theuser computing device relative to a total length of the media contentfile; and a processing module, independent of the user computing device,to modify the preference profile based on the score to create a newpreference profile, wherein the processing module further selects asecond media content file to distribute to the user based on the newpreference profile, wherein the score for the media content file isstored in a temporary storage file and if the user allows multiple mediacontent files to be played, in their entirety, for a predeterminedlength of time by not pressing a media control point, the score for themedia content file is not moved to a permanent storage file.
 2. Anautomatic user preference detection computer system, comprising: apreference determination module, independent of a user computing device,to determine a preference profile for a user of a media contentdistribution source, the preference profile being based on previouslydetermined media scores for the user and local media content filesdetermined by scanning a disk drive of the user computing device todetermine the local media content files stored on the user computingdevice; a database, independent of the user computing device, to storethe preference profile for the user of the media content filedistribution source; a score calculation module, independent of the usercomputing device, to determine a score for a media content filedistributed to the user by the media content file distribution source,wherein the score is calculated based on a comparison of a length oftime in which the user allows the media content file to be played at theuser computing device relative to a total length of the media contentfile; and a processing module, independent of the user computing device,to modify the preference profile based on the score to create a newpreference profile, wherein the processing module further selects asecond media content file to distribute to the user based on the newpreference profile, wherein the score calculation module stopscalculating the score for succeeding media content files after apredetermined length of time if the user allows multiple media contentfiles to be played in their entirety by not pressing a media controlpoint.
 3. The system of claim 2, wherein the media content file is amusic file.
 4. The system of claim 2, wherein a rate at which theprocessing module modifies the preference profile is configurable. 5.The system of claim 2, wherein the preference detection computer systemdetermines the length based on user's responses made with a user controlpoint.
 6. The system of claim 2, wherein the user control point is aremote control.
 7. The system according to claim 2, wherein the secondmedia content file is sent to the user computing device via an Internetstream.
 8. The system of claim 2, wherein the processing moduleperiodically selects testing media content files to distribute to theuser, wherein the testing media content files are randomly selected totest whether the user's media content file preferences have changed. 9.The system of claim 2, wherein the processing module further modifiesthe preference profile based on responses of other users having similarmedia preferences.
 10. The automatic user preference detection computersystem of claim 2, wherein the selection of the media content file todistribute to the user is based on the initial preference profile and atime of the week, such as a night of a week.
 11. An article comprising astorage medium having stored thereon instructions that when executed bya machine result in the following: storing a preference profile for auser of a media content file distribution source at the media contentfile distribution source which is independent of a user computingdevice, the preference profile being based on previously determinedmedia scores for the user and media content files of the user computingdevice determined by scanning a disk drive of the user computing device;determining a score for a media content file, at a preference processingsubsystem independent of the user computing device, distributed to theuser by the media content file distribution source, wherein the score iscalculated based on a comparison of a length of time in which the userallows the media content file to be played at the user computing devicerelative to a total length of the media content file; modifying thepreference profile, at the preference processing subsystem independentof the user computing device, based on the score to create a modifiedpreference profile; and selecting a second media content file, at thepreference processing subsystem of the user computing device, todistribute to the user based on the modified preference profile, whereinthe score calculation module stops calculating the score for succeedingmedia content files after a predetermined length of time if the userallows multiple media content files to be played in their entirety bynot pressing a media control point.
 12. The article of claim 11, whereinmedia content file is a music file.
 13. The article of claim 11, whereina rate at which the preference profile is modified is configurable. 14.The article of claim 11, wherein the instructions further result indetermining the length based on the user's responses made with a usercontrol point.
 15. The article of claim 11, wherein the instructionsfurther result in sending the second media content file to the usercomputing device via an Internet stream.
 16. The article of claim 11,wherein the instructions further result in periodically selectingtesting media content files to distribute to the user, the testing mediacontent files being randomly selected to test whether the user's mediacontent file preferences have changed.
 17. The article of claim 11,wherein the instructions further result in modifying the preferenceprofile based on responses of other users having similar mediapreferences.
 18. A method of automatically detecting media contentpreferences, comprising: storing a preference profile for a user of amedia content file distribution source at the media content filedistribution source which is independent of a user computing device, thepreference profile being based on previously determined media scores forthe user and media content files of the user computing device determinedby scanning a disk drive of the user computing device; determining ascore, at a preference processing subsystem independent of the usercomputing device, for a media content file distributed to the user bythe media content file distribution source, wherein the score iscalculated based on a comparison of a length of time in which the userallows the media content file to be played at the user computing devicerelative to a total length of the media content file; modifying thepreference profile, at the preference processing subsystem independentof the user computing device, based on the score to create a modifiedpreference profile; and selecting, at the preference processingsubsystem independent of the user computing device, a second mediacontent file to distribute to the user based on the modified preferenceprofile, wherein the score for the media content file is stored in atemporary storage file and if the user allows multiple media contentfiles to be played, in their entirety, for a predetermined length oftime by not pressing a media control point, the score for the mediacontent file is not moved to a permanent storage file.
 19. The method ofclaim 18, wherein the media content file is a music file.
 20. The methodof claim 18, wherein a rate at which the preference profile is modifiedis configurable.
 21. A method of automatically detecting media contentpreferences, comprising: storing a preference profile for a user of amedia content file distribution source at the media content filedistribution source which is independent of a user computing device, thepreference profile being based on previously determined media scores forthe user and media content files of the user computing device determinedby scanning a disk drive of the user computing device; determining ascore, at a preference processing subsystem independent of the usercomputing device, for a media content file distributed to the user bythe media content file distribution source, wherein the score iscalculated based on a comparison of a length of time in which the userallows the media content file to be played at the user computing devicerelative to a total length of the media content file; modifying thepreference profile, at the preference processing subsystem independentof the user computing device, based on the score to create a modifiedpreference profile; and selecting, at the preference processingsubsystem independent of the user computing device, a second mediacontent file to distribute to the user based on the modified preferenceprofile, wherein the score calculation module stops calculating thescore for succeeding media content files after a predetermined length oftime if the user allows multiple media content files to be played intheir entirety by not pressing a media control point.
 22. The method ofclaim 21, wherein the media content file is a music file.
 23. The methodof claim 21, wherein a rate at which the preference profile is modifiedis configurable.
 24. The method of claim 21, further includingdetermining the length based on the user's responses made with a usercontrol point.
 25. The method according to claim 21, further includingsending the second media content file to the user computing device viaan Internet stream.
 26. The method of claim 21, further includingperiodically selecting testing media content files to distribute to theuser, wherein the testing media content files are randomly selected totest whether the user's media content file preferences have changed. 27.The method of claim 21, further including modifying the preference filebased on responses of other users having similar media preferences.